// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); 1win — ставки на спорт в букмекерской конторе – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

1win — ставки на спорт в букмекерской конторе

В мире ставок на спорт есть много вариантов, но не все они равны. 1вин – это одна из лучших букмекерских контор, где вы можете сделать ставки на спорт и получать выгодные коэффициенты. Компания была основана в 2018 году и уже успела завоевать доверие многих игроков.

1вин предлагает широкий спектр услуг, включая ставки на футбол, баскетбол, теннис, хоккей и другие виды спорта. Компания сотрудничает с ведущими букмекерскими конторами, чтобы обеспечить максимальную доступность и комфорт для своих клиентов.

Если вы ищете надежного партнера для своих ставок на спорт, то 1вин – это отличный выбор. Компания обеспечивает безопасность и конфиденциальность своих клиентов, а также предлагает различные бонусы и акции для новых и постоянных игроков.

Начните играть с 1вина сегодня и наслаждайтесь выигрышами!

1win – ставки на спорт в букмекерской конторе

1win предлагает своим клиентам более 20 000 различных вариантов ставок на спорт в режиме онлайн, что обеспечивает максимальную доступность и выбор для игроков. Компания сотрудничает с более 20 международными букмекерскими компаниями, что позволяет клиентам 1win получать доступ к ставкам на спорт из любой точки мира.

1win предлагает широкий спектр функций для удобного формирования ставок, включая функцию “Многофункциональный чат” для быстрого общения с операторами, функцию “Моя корзина” для удобного хранения ставок и функцию “Моя история” для просмотра истории своих ставок.

Компания 1win ванвин предлагает различные типы ставок, включая ставки на спорт, ставки на тотализатор, ставки на лото и другие. Клиенты могут формировать ставки как на отдельные события, так и на несколько событий одновременно.

1win предлагает различные бонусы и акции для своих клиентов, включая бонусы для новых игроков, бонусы для постоянных игроков и акции для крупных ставок. Компания также предлагает программу лояльности, которая позволяет клиентам получать бонусы и преимущества за свою фидельность.

1win обеспечивает безопасность своих клиентов, используя современные технологии шифрования и защищенные соединения. Компания также имеет лицензию на свою деятельность, выдана в соответствии с законодательством Российской Федерации.

В целом, 1win – это надежная и популярная букмекерская контора, которая предлагает своим клиентам широкий спектр услуг по ставкам на спорт и обеспечивает безопасность и конфиденциальность своих клиентов.

О компании 1win

1win – это ведущая букмекерская контора, которая предлагает своим клиентам широкий спектр услуг по ставкам на спорт. Компания была основана в 2018 году и с тех пор стала одним из лидеров на рынке онлайн-ставок.

1win предлагает своим клиентам более 20 000 различных вариантов ставок на спорт каждый день, включая футбол, баскетбол, теннис, хоккей и другие виды спорта. Компания сотрудничает с более 1000 букмекерскими конторами по всему миру, что обеспечивает ее клиентам доступ к самым широким возможностям ставок.

  • Большой выбор ставок на спорт
  • Высокие коэффициенты
  • Большой выбор payment-опций
  • 24/7 поддержка клиентов

1win предлагает своим клиентам несколько способов пополнения счета, включая карты Visa, Mastercard, Neteller, Skrill, Webmoney и другие. Минимальная сумма пополнения счета составляет 1 евро, а максимальная – 10 000 евро.

  • Минимальная сумма пополнения счета – 1 евро
  • Максимальная сумма пополнения счета – 10 000 евро
  • Большой выбор payment-опций
  • 1win также предлагает своим клиентам программу лояльности, которая позволяет им получать бонусы и дополнительные преимущества. Клиенты могут получать бонусы за регистрацию, за пополнение счета, за участие в акциях и других действиях.

    • Программа лояльности
    • Бонусы за регистрацию
    • Бонусы за пополнение счета
    • Бонусы за участие в акциях

    1win – это надежная и безопасная букмекерская контора, которая предлагает своим клиентам широкий спектр услуг по ставкам на спорт. Компания сотрудничает с более 1000 букмекерскими конторами по всему миру, что обеспечивает ее клиентам доступ к самым широким возможностям ставок.

    Преимущества ставок на спорт в 1win

    Преимуществом 1win является ее широкий спектр спортивных событий, которые доступны для ставок. В букмекерской конторе представлены более 30 видов спорта, включая футбол, хоккей, баскетбол, теннис, бокс и многие другие. Это означает, что игроки могут делать ставки на свои любимые команды и спортсменов, а также на различные турниры и соревнования.

    Кроме того, 1win предлагает высокие коэффициенты для своих клиентов. Коэффициенты в 1win могут достигать 95%, что является одним из самых высоких в России. Это означает, что игроки могут получать больше денег, если их ставка будет успешной.

    1win также предлагает широкий спектр дополнительных функций, которые делают ее привлекательной для игроков. В частности, букмекерская контора предлагает функцию live-ставок, которая позволяет игрокам делать ставки в реальном времени. Это означает, что игроки могут делать ставки на матчи и события, которые уже начались, а не только на предстоящие.

    Кроме того, 1win предлагает функцию cash-out, которая позволяет игрокам выйти из ставки до ее окончания. Это означает, что игроки могут получать часть своих денег, если их ставка не будет успешной.

    1win также предлагает программу лояльности, которая позволяет игрокам получать бонусы и другие преимущества за свою фиксированную деятельность. Это означает, что игроки могут получать дополнительные деньги и преимущества, если они будут делать ставки в 1win регулярно.

    В целом, 1win – это отличный выбор для игроков, которые ищут надежную и привлекательную букмекерскую контору. С ее широким спектром спортивных событий, высокими коэффициентами, функциями live-ставок и cash-out, а также программой лояльности, 1win предлагает все, что нужно для успешной игры и получения прибыли.

    Как сделать ставку на спорт в 1win

    После регистрации вы сможете перейти к разделу “Спорт” на сайте 1win, где вы сможете выбрать спорт, на который хотите сделать ставку. 1win предлагает ставки на более 30 видов спорта, включая футбол, баскетбол, теннис, хоккей и другие.

    Выбрав спорт, вы сможете выбрать матч, на который хотите сделать ставку, и выбрать тип ставки. 1win предлагает несколько типов ставок, включая ставки на победителя, на количество забитых голов, на тотал и другие.

    После выбора типа ставки, вам нужно ввести сумму ставки и подтвердить ее. 1win предлагает несколько способов оплаты, включая карты, электронные деньги и другие.

    После подтверждения ставки, вы сможете отслеживать ее результаты на странице “Мои ставки” на сайте 1win. Если ваша ставка будет успешной, вы сможете получать выигрыш в виде денег на ваш счет.

    1win предлагает также несколько дополнительных функций, включая функцию “Live”, которая позволяет делать ставки в режиме реального времени, и функцию “Multi-bet”, которая позволяет делать несколько ставок одновременно.

    Таким образом, 1win – это удобный и безопасный способ сделать ставку на спорт, с возможностью выбора из широкого спектра спортсменов, матчей и типов ставок, а также с доступом к дополнительным функциям, которые могут помочь вам выиграть больше денег.

    Отзывы и отзывы о 1win

    Многие пользователи 1win хвалят контору за ее простой и удобный интерфейс, который позволяет легко создавать и управлять ставками. «Я был удивлен, как легко и быстро я смог создать аккаунт и начать делать ставки», – пишет один из пользователей. – «Интерфейс очень понятный, и я не столкнулся с какими-либо проблемами».

    Кроме того, 1win предлагает широкий спектр функций для анализа и прогнозирования результатов матчей. «Я использую функцию “Матч-центр” для анализа результатов матчей и делать более информированные ставки», – говорит другой пользователь. – «Это помогает мне делать более точные прогнозы и увеличивать свои шансы на выигры».

    Design and Develop by Ovatheme